XmlShell - XmlShell 1.2 - Help

XmlShell 1.2

For many years, people have been searching for a lightweight, intuitive, powerful, and easy-to-use XML editor to manage the complexitiy and power of XML. Now, the search has ended with the release of XmlShell, the ultimate lightweight XML editor.

Design Guideline

Useful
This is our number one guideline. XmlShell must help solve real-world problems and increase productivity.
Lightweight
We want to make XmlShell as lightweight as possible. Lightweight is measued by the file size of and memory usage of the program. To us, lightweight does NOT mean the opposite of heavyduty.
Powerful
XmlShell should allow users to accomplish theirs XML-related work in the most efficient way.
Flexible
XML is not only a structural language on one hand, but also very flexible on the other hand. XmlShell must allow users to edit XML in both structual way and free-form text editing mode. Synchronization and linking between the two different editing modes become important and essential parts of our design.
Intuitive
XML is a tree structure by nature. However, it is also used to carry table-like information. XmlShell should provide an intuitive GUI to let users access and work on those two distinct types of data structures.

See Also

Features | What's New | License Agreement
Copyright (c) 2002-2003 Softgauge.com


XmlShell - What's New - Help

What's New

Changes in XmlShell 1.2:

  • New - Option: Whether to sort element attributes (/Config/Misc/@SortAttributes).
  • New - Right-click (context) menu for Grid views.
  • Fix - When typing in Grid views, the in-place edit box showed up even when no cells were selected.
  • Change - Show warning when trying to save read-only files.
  • Change - Show warning when trying to select an XML parser that is not installed on the machine.

Changes in XmlShell 1.1:

  • New - Validation against DTD, XML Schema, or XML-Data Reduced (XDR) Schema.
  • New - Include DTD Entity declarations in the entity popup list (Editor view).
  • New - Smart insertion of surrounding text for "", '', (), [], {}, etc... (Editor view, Insert Element).
  • Fix - When "ConvertChar" option was set to false, non-element data got lost.
  • Fix - DTD Entity references got lost when switching views.
  • Fix - Right click on the XmlTree view caused loss of changes made in the Editor view.
  • Fix - Browser view crashed on some IE versions.
  • Fix - Cancel saving non well-formed files brought up the "File might be Read-only" message.
  • Fix - Short file name was displayed on the window title.

See Also

Features


XmlShell - Features - Help

Features

The following is a brief list of XmlShell's features:

True side-by-side tree structure and table/editor/browser views
Thanks to the true side-by-side explorer-like views, you can make changes in the XML tree structure and immediately see your changes in the browser view, XSLT view, or plain text editor view. With the display filter, it's just a breeze to find the piece of XML you are looking for.
Multiple-selectable tree
Use the standard multiple-selection methods (Shift/Ctrl + Click, Shirt/Ctrl + Up/Down/Space) to select multiple nodes in the XML tree. This feature makes mass editing a breeze.
Grid-like table views to display table-like XML data
Many times, XML files contains record-like data. XmlShell's table views make it intuitive and convenient to see and edit such data.
Syntax-colored free-form text editor
The power and flexibility of plain text editors is a desired feature when the users know what they are doing and want to go straight to the guts.
Intelligent popup list in editor
XmlShell has built-in popup list for XSL elements and attributes. XmlShell also keeps track of the elements, attributes in the document, and pops up the list to help you type. When you try to type a closing tag for an element, XmlShell will try to find the tag and close it for you.
XSL Transform view
You can perform XSLT without really embed XSL in your XML document. XmlShell will open a separate view to show the results in the format of your choice (XML, HTML or plain text).
Drag & Drop
Arrange your XML structure by dragging & dropping one or more nodes within the same or cross multiple XML files.
Open non well-formed XML files
If the file you are opening is not a well-formed XML file, XmlShell will still open it in the plain editor view and show you where the problem is. In this way, you can "repair" corrupted XML files or convert non-XML files to XML files.
Configurable tree display
Depending on the contents of your XML file, you can configure the XML tree view to display the most meaningful information for you.
In-place editable tree
You can edit the XML elements, attributes, text right at the XML tree.
Display filter
Users can filter the display by Node type, Element, Attribute, or free-form text.
Automatic text format
XmlShell automatically formats the text to nicely indented strcture.
Clipboard integration
Copy and paste XML fragments, XPath, with or without child nodes.
Check well-formedness
You can check the well-formedness any time you want. If the document is not well-formed, XmlShell will point you where the problem is. When you save a document, XmlShell also automatically checks well-formedness for you.
Unlimited levels of undo/redo
Let you try out your ideas or changes and go back to the original.
Multi-parsers support
Supports MSXML 2.6, 3.0, and 4.0.

See Also

What's New | FAQ


XmlShell - License Agreement - Help

License Agreement

Permission to distribute this software in the form of the original archive is hereby granted. *

  • This software is shareware and fully functional. Permission to use or evaluate this software is hereby granted for 50 days starting the first day of use. You may freely and legally use or evaluate this software for 50 days without any obligation.
  • Using this software beyond the above granted period requires purchasing a license.
  • This software is distributed AS IS and without any expressed or implied warranties.
  • Softgauge.com, the author(s), the distributor(s), and the e-commerce partner(s) are not responsible for any damages whatsoever incurred before, during, or after the use of this software.
  • This software or licenses cannot be resold for profit without expressed written permission from Softgauge.com.

* As long as you think you are complied with the above agreement, you don't need to obtain extra permission from us (Softgauge.com) to distribute this software.

See Also

Privacy Statement | Purchasing License(s)


XmlShell - Purchasing License(s) - Help

Purchasing License(s)

Please visit our web site (http://www.softgauge.com/order.htm) for details.

See Also

License Agreement


XmlShell - Privacy Statement - Help

Privacy Statement

Softgauge.com respects our users' privacy. Here is our privacy statement:

  1. XmlShell does NOT gather any personal information or web activities.
  2. We (Softgauge.com) have NO interests in any sort of personal information or data at all.
  3. Certain features in XmlShell, however, do require the access to the Internet because of the nature of such functionality. Examples are:
    • External user DTDs located over the Internet.
    • When users click on the user links specified in their XML document to link to external web pages or resources.
    • When users click on certain Help contents that are located on Softgauge.com's web site.
  4. In the cases that XmlShell needs to access the Internet, the data needed to complete the task will be transmitted over the Internet to the server specified by the task. No other data will be transmitted, and no other servers will be connected.
By using this software, the user acknowledges and agrees such necessary Internet activities.

See Also

License Agreement


XmlShell - Feekback - Help

Feekback

If you have any comments, suggestions, or bug reports, you are more than welcome to contact us and give us feedback.

See Also

Purchasing License(s)


XmlShell - Acknowledgment - Help

Acknowledgment

We would like to acknowledge and thank the following individuals for their excellent code and generosity:

  • Andrei Krygin - for his inspiration, encouragment, and helpful discussion. Without him, XmlShell wouldn't exist.
  • Neil Hodgson - for the Scintilla editing component:
    Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>. All Rights Reserved. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.
  • Dr John Maddock - for his Regex++ library, which is part of Boost:
    Copyright (c) 1998-2000 by Dr John Maddock. Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.
  • Brent Corkum - for his XP style menu code.
  • Cristi Posea - for his docking control code.


XmlShell - Configuration - Help

Configuration

The following attributes have the same meaning when appearing in elements:
Attribute | Meaning
@font-family | Font family name, e.g. Arial, Verdana, MS Sans Serif.
@font-size | Font size in pt. E.g. 8, 10, 12.
@color | Foreground (text or and marks) color, in hex RGB value. E.g. #FF0000 is red, #00FF00 is green, #0000FF is blue, #000000 is black, #FFFFFF is white.
@bold | Set the text to bold. Possible values: true, false.
@italic | Set the text to italic. Possible values: true, false.
@background-color | Background color. See @color for value format.

XmlTree

  • /Config/XmlTree/@font-family
  • /Config/XmlTree/@font-size
  • /Config/XmlTree/InsertMark/@color

Tabs

  • /Config/Tabs/@font-family
  • /Config/Tabs/@font-size
  • /Config/Tabs/SubTabs/@font-family
  • /Config/Tabs/SubTabs/@font-size

Grids

  • /Config/Grids/@font-family
  • /Config/Grids/@font-size
  • /Config/Grids/FirstRow/@background-color
  • /Config/Grids/FirstRow/@color
  • /Config/Grids/FirstColumn/@background-color
  • /Config/Grids/FirstColumn/@color
  • /Config/Grids/NoValueCells/@background-color
  • /Config/Grids/SubGrids/@font-family
  • /Config/Grids/SubGrids/@font-size

Editor

  • /Config/Editor/@InitWrap
    • The initial Wrap Long Lines setting. Possible values: true, false.
  • /Config/Editor/@TabGuide
    • Tab Guide are dotted lines running vertically to line up the tabs. Change this setting to enable or disable Tab Guide. Possible values: true, false.
  • /Config/Editor/@TabSize
    • The size of Tab. Possible values: integers.
  • /Config/Editor/@color
  • /Config/Editor/@font-family
  • /Config/Editor/@font-size
  • For Elements:
    • /Config/Editor/Element/@bold
    • /Config/Editor/Element/@color
    • /Config/Editor/Element/@italic
  • For Attribute names:
    • /Config/Editor/AttributeName/@bold
    • /Config/Editor/AttributeName/@color
    • /Config/Editor/AttributeName/@italic
  • For Attribute values:
    • /Config/Editor/AttributeValue/@bold
    • /Config/Editor/AttributeValue/@color
    • /Config/Editor/AttributeValue/@italic
  • For Text:
    • /Config/Editor/Text/@bold
    • /Config/Editor/Text/@color
    • /Config/Editor/Text/@italic
  • For Comment:
    • /Config/Editor/Comment/@bold
    • /Config/Editor/Comment/@color
    • /Config/Editor/Comment/@italic
  • For CDATA:
    • /Config/Editor/CDATA/@bold
    • /Config/Editor/CDATA/@color
    • /Config/Editor/CDATA/@italic
  • For Process Instructions:
    • /Config/Editor/ProcessInstructionMark/@bold
    • /Config/Editor/ProcessInstructionMark/@color
    • /Config/Editor/ProcessInstructionMark/@italic

Misc

  • /Config/Misc/@ConvertChar
    Whether to convert the characters that are greater than 127 to "&#ddd;" code. For example: § -> "&#167;" and Â -> "&#194;". Possible values: true, false.
  • /Config/Misc/@CreateBackupFile
    Whether to create a backup file when saving changes. The backup file name will be the original file name with ".bak" appended. Possible values: true, false.
  • /Config/Misc/@DefaultView
    The default tabbed view when opening a document. Possible values: Parent-Children, Editor, Browser, XSLT.
  • /Config/Misc/@SearchHistory (default=30)
    The max of search history in the filter drop down list. Possible values: integers.
  • /Config/Misc/@SingleInstance
    Whether to allow only one instance of XmlShell running. If true, then the attempt of running another instance of XmlShell will bring up the already running instance. Possible values: true, false.
  • /Config/Misc/@SortAttributes
    Whether to sort the attributes of element nodes. Possible values: true, false.


XmlShell - FAQ - Help

FAQ

Q1: Can XmlShell perform validation?
Ans: Yes, since XmlShell 1.1 we added the Validation command to validate XML against DTD, XML Schema, or XML-Data Reduced (XDR) Schema. For the best results, please select/install MSXML 4.0 parser.

Q2: Can XmlShell open non-XML (not well-formed) files?
Ans: Yes. When opening non-XML files, XmlShell will give warning and point you where the parsing was failed.

Q3: Can XmlShell generate not well-formed document? Why?
Ans: XmlShell doesn't enforce the well-formedness when the document is still under editing, but XmlShell always gives warning when you try to save a non-well-formed document. This give users more flexibility on how they want to edit their documents.

Q4: Is there an easy to add opening and closing tags around some texts?
Ans: Yes. Switch to the Editor View, select (highlight) some texts, hit Ins key to insert Element, then type the tag name in the prompted dialog.

Q5: What's the eqsiest way to add new similar nodes?
Ans: In the XmlTree View or grid-like views, use Ctrl+D to duplicate the selected nodes as siblings.

Q6: How do I switch views using keyboard?
Ans: Use Alt+0 to switch to XmlTree View. Use Alt+n to switch to the n-th tabbed view.

Q7: When does XmlTree gets updated with the changes made in the Editor View?
Ans: If you make changes in the Editor View, the XmlTree View won't get updated untill you click on the XmlTree View itself or on and grid-like view. Note: In most cases, the Undo information will be reset after XmlTree gets updated.

Q8: How do I instruct XmlShell to reformat the text in the Editor View?
Ans: By swithing to XmlTree View or Parent-Children View and back, XmlShell will parse the contents in the Editor View and reformat it, if it's a well-formed document. Note: In most cases, the Undo information will be reset after reformatting.

Q9: Why sometimes the Undo is not available?
Ans: XmlShell keeps two Undo information sets: one for the XmlTree (and grid-like views) and the other for the Editor. You might have Undo information for one view, but not for the other. XmlShell uses the Undo information for the currently focused or working view. Also, switching between the two will cause re-parsing of the XML, which will invalidate the Undo information in most cases. Generally, if you keep working only in either XmlTree (and grids) or Editor, then the Undo information will be accumulated without interruption.

Q10: Does sorting in grid-like views actually modify the document?
Ans: No, it just effects the displaying.

Q11: I don't see the Filter Bar. How do I enable it?
Ans: Use the View menu and choose Filter Bar.

Q12: Can I search without Filter Bar?
Ans: You can use Find (Ctrl+F) command to do free text searching.


XmlShell - XML Parsers - Help

XML Parsers

XmlShell uses an XML parser when

  • Loading files.
  • Checking well-formedness.
  • Performing XSL Transform.

XmlShell supports the following three XML parsers:
Parser | Filename
MSXML 2.6 | msxml2.dll
MSXML 3.0 | msxml3.dll
MSXML 4.0 | msxml4.dll

You can choose which parer to use via Tools > Xml Parser menu. Normally you want to go with the latest version of an XML parser, however, there are times you want to go back to older versions. For example, you want to test how an XSLT behaves in an legacy program that uses MSXML 2.6.

See Also

Tools Menu


XmlShell - File Menu - Help

File Menu
Command | Function
New | Create a new file.
New from Clipboard | Create a new file from the contents of clipboard. This is useful if you copy an XML string and want to create a file out of it or to see the structure.
New from Template | Create a new file by copying from (duplicating) another file.
Open | Open existing file(s).
Close | Close the current file.
Save | Save the current file.
Save As | Save the current file to a different filename.
Save All | Save all modified files.
Reload | Reload the current file. Current changes will get lost. Users will be prompted to cancel or continue the command.
Most Recent Files | A list of most recently opened files that users can select and open it.
Exit | Quit XmlShell.


XmlShell - Edit Menu - Help

Edit Menu
Command | Function
Undo | Undo previous changes. Switching between Editor View and XmlTree View/Parent-Children View might lose undo information due to re-parsing the document.
Redo | Redo previous changes.
Cut | Cut the selected data and put in clipboard.
Copy | Copy the selected data to clipboard. If the selected data is XML node(s), all the child nodes will be copied.
Copy Special (Copy without Children) | Copy only the parent node(s).
Copy Special (Copy Path) | Copy the XPath of the selected node(s).
Paste | Paste the data in clipboard to the current location. XmlShell will try to interprete and parse the data as XML data. Data will be inserted as sibling nodes if possible.
Paste Special (Paste Children) | Paste data as child nodes instead of sibling nodes.
Edit | Start in-place editing.
Insert Sibling | Reload the current file. Current changes will get lost. Users will be prompted to cancel or continue the command.
Insert Child | A list of most recently opened files that users can select and open it.
Duplicate Node | Quit XmlShell.
Delete | Quit XmlShell.
Select All | Quit XmlShell.
Find | Find text. If the currently focused view is not the Editor View, this command will bring up the Filter View.
Find Current | Find the current word. Enabled only for Editor View.
Find Next | Find next matched text. Enabled only for Editor View.
Find Prev | Find previous matched text. Enabled only for Editor View.


XmlShell - View Menu - Help

View Menu
Command | Function
Back | When browser-like views are not active, navigate back to previous node in the XmlTree. Otherwise, navigate back to previous page viewed in the active browser-like view.
Forward | When browser-like views are not active, navigate forward to previous node in the XmlTree. Otherwise, navigate forward to previous page viewed in the active browser-like view.
Toolbar | Toggle to display or hide toolbar.
Filter Bar | Toggle to display or hide Filter bar.
XmlTree | Toggle to display or hide the XmlTree View.
Status Bar | Toggle to display or hide status bar.
Browser View (XML) | Show the document in Browser View, and interprete the data as HTML.
Browser View (HTML) | Show the document in Browser View, and interprete the data as XML.
Browser View (Text) | Show the document in Browser View, and interprete the data as plain text.
XmlTree Node Title (Full) | Show Tag + Text + Attributes for the node in the XmlTree View.
XmlTree Node Title (Tag Name) | Show Tag for the node in the XmlTree View.
XmlTree Node Title (Text) | Show Text for the node in the XmlTree View.
XmlTree Node Title (Attributes) | Show Attributes for the node in the the XmlTree View.
Expand All Children | Expand all the selected nodes in the XmlTree View and all their children.
Collapse All Children | Collapse all the selected nodes in the XmlTree View and all their children.
Expand | Expand all the selected nodes in the XmlTree View, not including their children.
Collapse | Collapse all the selected nodes in the XmlTree View, not including their children.
Wrap Long Lines | Wrap long lines in the Editor View.
Refresh | Refresh browser-like views. Disable if no active browser-like views.


XmlShell - Tools Menu - Help

Tools Menu
Command | Function
Check Well-Formed | Check the well-formedness of the current document.
Validate | Validate the current document against DTD, XML Schema, or XML-Data Reduced (XDR) Schema.
XSL Transform | Perform XSL Transform. Users will be prompoted a dialog to choose XSLT or XML file, and an optional output directory. This command will bring up the XSLT View. To close the view, use the same command, but click on Cancel when prompted.
XML Parser (MSXML 2.6) | Choose MSXML 2.6 as the XML parser. If the parser is not installed, users will receive an error message when XmlShell is trying to parse a document.
XML Parser (MSXML 3.0) | Choose MSXML 3.0 as the XML parser. If the parser is not installed, users will receive an error message when XmlShell is trying to parse a document.
XML Parser (MSXML 4.0) | Choose MSXML 4.0 as the XML parser. If the parser is not installed, users will receive an error message when XmlShell is trying to parse a document.
File Association | Associate file extentions to XmlShell, so Windows will use XmlShell to open such files.
Edit Configuration | Modify the configuration. Users can change font size, color, and other settings. This will open the configuration XML file.
Reset Configuration | Reset the configuration to the default values.


XmlShell - Window Menu - Help

Window Menu
Command | Function
Cascade | Arrange windows so they overlap.
Tile Horizontally | Arrange windows as horizontal, non-overlapping tiles.
Tile Vertically | Arrange windows as vertical, non-overlapping tiles.
Close All | Close all opened files (windows).
Currently Opened Files | A list of all currently opened files (windows).


XmlShell - Help Menu - Help

Help Menu
Command | Function
Contents | Open the help contents.
Index | Open the help index.
On the Web | Go to XmlShell web site.
About XmlShell | Display the About XmlShell dialog. For licensed user, it will display the license information.


XmlShell - XmlTree Context (Right-Click) Menu - Help

XmlTree Context (Right-Click) Menu
Command | Function
Cut | Cut the selected data and put in clipboard.
Copy | Copy the selected data to clipboard. If the selected data is XML node(s), all the child nodes will be copied.
Copy Special (Copy without Children) | Copy only the parent node(s).
Copy Special (Copy Path) | Copy the XPath of the selected node(s).
Paste | Paste the data in clipboard to the current location. XmlShell will try to interprete and parse the data as XML data. Data will be inserted as sibling nodes if possible.
Paste Special (Paste Children) | Paste data as child nodes instead of sibling nodes.
Insert Sibling | Reload the current file. Current changes will get lost. Users will be prompted to cancel or continue the command.
Insert Child | A list of most recently opened files that users can select and open it.
Duplicate Node | Quit XmlShell.
Delete | Quit XmlShell.
XmlTree Node Title (Full) | Show Tag + Text + Attributes for the node in the XmlTree View.
XmlTree Node Title (Tag Name) | Show Tag for the node in the XmlTree View.
XmlTree Node Title (Text) | Show Text for the node in the XmlTree View.
XmlTree Node Title (Attributes) | Show Attributes for the node in the the XmlTree View.
Expand All Children | Expand all the selected nodes in the XmlTree View and all their children.
Collapse All Children | Collapse all the selected nodes in the XmlTree View and all their children.
Expand | Expand all the selected nodes in the XmlTree View, not including their children.
Collapse | Collapse all the selected nodes in the XmlTree View, not including their children.


XmlShell - XmlTree View - Help

XmlTree View

XmlTree view displays the tree structure of the XML document.

Node Title Format

XmlShell provides several options for the visual representation of the XML nodes in the XmlTree view:

  • Full - XML nodes are displayed in Tag {Text} [Attr] format.
  • Tag Name - Based on the node types, XML nodes are displayed differently:
    Node Type | Displayed Text
    XML Declaration | <?xml version='1.0' ...?>
    CDATA | <![CDATA[...]]>
    Comment | <!--comment text-->
    Element | Tag name
    Process Instruction | Target
    Text | Text
  • Text - Element texts are displayed in {Text} format.
  • Attributes - Element attributes are displayed in [attr1="value1" attr2="value2"...] format.

Multiple Selection

Multiple selection is a unique feature of XmlShell. It lets you to select more than one node in the XmlTree view. Simply use the standard methods to do multiple selection.

Use mouse to do multiple selection:

  • To select or unselect items: Ctrl+Click
  • To select a range of items: Click to select the starting item, then Shift+Click to select the ending item

Use keyboard to do multiple selection:

  • To select or unselect items: Ctrl+Up/Down, then Space.
  • To select a range of items: Shift+Up/Down

Drag and Drop

XmlTree view supports drag & drop within its own tree and between trees in two documents. Drag & drop within the same document will move the selected nodes. You can press Ctrl while dragging and dropping to copy (instead of move) nodes. Drag & drop between two different documents will always copy nodes. To drag & drop multiple nodes, just first select the nodes, then start dragging by dragging from one of the selected nodes. Drag & drop between two different instances of running XmlShell is not supported, because the task can be done by opening two files in the same instance of XmlShell.

Expand/Collapse

Auto expand/collapse is a feature to let a user expand/collapse a node while in middle of drag & drop. If you position the mouse cursor to the small expand/collapse (+ / -) buttons next to the node icons while you are in middle of drag & drop, the node will automatically expand/collapse.

In-Place Edit

In-place editing is a feature that users can edit the node right at the tree node label. While a node is selected, you can use one of the following methods to start in-place editing:

  • Click again on the selected tree node title (label).
  • Press F2.
  • Press Space.

To end editing and accept changes, just click outside the edit box or press Enter.

To discard changes, just press Escape.

Well-Formedness

When the first time XmlTree view displays, if the XML document is not well-formed, the tree will be blank. User can edit the document through Editor View. Everytime when a user switch from Editor View to XmlTree View, XmlShell will check the document for well-formedness (if necessary). XmlTree View will repopulate its tree only when the document is well-formed. Once the tree is populated, a user can start working directly on the tree or any other grid-like views. In such a case, it's possible to generate non-well-formed tree. XmlShell doesn't enforce the well-formedness when the document is still under editing, but XmlShell always gives warning when you try to save a non-well-formed document.

Undo/Redo

Every single change to the tree or tree nodes can be undone before the tree gets repopulated from Editor View. This functionality is accessible through one of the following methods:

  • Toolbar icons.
  • Edit menu, Undo and Redo commands.
  • Keyboard shortcuts: Ctrl+Z and Ctrl+Y
    • .

Navigation History

Navigation history functions like "Back" and "Forward" in Windows Explorer. It records the history of the tree navigation. This functionality is accessible through one of the following methods:

  • Toolbar icons.
  • View menu and Back and Forward commands.
  • Keyboard shortcuts: Alt+Left and Alt+Right
    • .

Mouse Operations

The following mouse operations are specific to XmlShell:

  • Double-click on a node icon: jump to Parent/Children view.

Keyboard Operations

The tree control used in XmlTree View works the same way as the Windows system tree control. All standard keyboard operations should apply. The following is a simple summary:

  • Up and Down - Navigate the tree up and down.
  • Left - Navigate to the parent. Collapse the node.
  • Right - Expand the node. Navigate to the first child.
  • Num + - Expand the current node.
  • Num - - Collapse the current node.
  • Num * - Expand the current nod and all child nodes.
  • Num / - Collapse the current nod and all child nodes.
  • F2 or Space - Start in-place editing.
  • Alt+X - Show/Hide XmlTree view.
  • Alt+0 (number 0) - Show XmlTree view and set focus to it.

Docking

XmlTree View can be docked on any edge of the main XmlShell window. Drag on the 'grip' bar of the view window to change docking position.

Configuration

XmlTree view related configuration keys are listed below:

  • /Config/XmlTree/@font-family
  • /Config/XmlTree/@font-size
  • /Config/XmlTree/InsertMark/@color

Notes

  • If an XML Element has only one Text child, the Text will be shown as a property (instead of a child node) of the Element.

    • See Also

    View Menu | Configuration | Keyboard Shortcuts


XmlShell - Grid-Like Views - Help

Grid-Like Views

Grid-like view uses standard Windows system control and customize it to behave like a grid. Most of the Windows standard operations also apply to XmlShell's grid-like views. The following views are based on grid-like view:

  • Node View
  • Attributes View
  • Sub-Texts View
  • Filter View

Locate Node in XmlTree View

To locate a node back in the tree, just click on the node icon. XmlTree will automatically expand all the parents and show the node in bold. This operation does not change the selection in XmlTree view.

Sort

Sorting in grid-like views is only for displaying purpose. It does NOT change the actual XML document. Users can click on any column header to sort the column ascendingly. Clicking on the same column header again to sort it descendingly. Clicking again to remove sorting.

In-Place Edit

All the grid-like views feature grid-like in-place editing. To start editing, use one of the following methods:

  • Click again on a selected grid cell .
  • Press F2.
  • Press Space.
  • Press any alpha-numeric keys.

To end editing and accept changes, use one of the following methods:

  • Click outside the edit box.
  • Press Enter. The focused cell will move to the next row.
  • Press Tab. The focused cell will move to the next column.

To end editing and discard changes:

  • Press Escape.

Undo/Redo

Every single change to the nodes can be undone before the grids gets repopulated from Editor view. This functionality is accessible through one of the following methods:

  • Toolbar icons.
  • Edit menu, Undo or Redo commands.
  • Keyboard shortcuts: Ctrl+Z and Ctrl+Y.

Multiple Selection

Multiple selection works the same way as the standard Windows system control. The selection is row-based only. You can use either mouse or keyboard to do multiple selection.

Use mouse to do multiple selection:

  • To select or unselect items: Ctrl+Click
  • To select a range of items: Click to select the starting item, then Shift+Click to select the ending item

Use keyboard to do multiple selection:

  • To select or unselect items: Ctrl+Up/Down, then Space.
  • To select a range of items: Shift+Up/Down

Drag and Drop

You can drag from grid-like views and drop to XmlTree view. Grid-like views do not accept drop.

Mouse Operations

The following mouse operations are specific to XmlShell:

  • Single-click on a column header: Sort by the column.
  • Single-click on a node icon: Locate a node in XmlTree view.
  • Double-click on a node icon: Jump to Parent-Children view.

Keyboard Operations

Most of the standard keyboard operations should work just as users expect. The following is a simple summary:

  • Up, Down, Left, Right - Navigate the grid.
  • F2 or Space - Start in-place editing.
  • Tab - Move to the next column.
  • Enter - Move to the next row.

Configuration

All grid-like views use the following configuration keys:

  • /Config/Grids/@font-family
  • /Config/Grids/@font-size
  • /Config/Grids/FirstRow/@background-color
  • /Config/Grids/FirstRow/@color
  • /Config/Grids/FirstColumn/@background-color
  • /Config/Grids/FirstColumn/@color
  • /Config/Grids/NoValueCells/@background-color
  • /Config/Grids/SubGrids/@font-family
  • /Config/Grids/SubGrids/@font-size

See Also

Parent-Children View | Node View | Attributes View | Sub-Texts View | Filter View | Configuration


XmlShell - Parent-Children View - Help

Parent-Children View

Parent-Children view is the first tab of the tabbed-views. It shows the parent-children relation of the selected node in the XmlTree view. The view is splitted into two sub-views, one for the parent (Node view) and the other for the children. The children view is furthur tabbed into Attributes view and Sub-Texts view.

Node View

Node view displays the node currently selected (focused) in the XmlTree view. The first row shows the Tag name and Text. The rest of the rows shows all the attributes. If attributes are allowed for the node, you can add a new attribute at the end of the grid.

Attributes View

Attribute view is the first tab of the children view (lower portion) of the Parent-Children view. It displays the attributes and text of all the child nodes. In normal situations, the child nodes are the children of the selected (focused) node in the XmlTree view. In some cases such as adding a new node directly in this view, the parent node will not change to the selected node in XmlTree view. This behavior is by design in order to imporve the usability. In all cases, the tab title tells the parent node.

Sub-Texts View

Sub-Text view is the second tab of the children view (lower portion) of the Parent-Children View. It is useful when the children use sub-elements with text for attribute-like data. The view display the text of all sub-elements of all the children. In normal situations, the child nodes are the children of the selected (focused) node in the XmlTree view. In some cases such as adding a new node directly in this view, the parent node will not change to the selected node in XmlTree view. This behavior is by design in order to imporve the usability. In all cases, the tab title tells the parent node.

Auto Pick Up Children View

Out of the two children views (Attributes and Sub-Texts views), XmlShell automatically pick up the "most significant" children view to display. Users can manually click on the other children view to see it.

See Also

Grid-Like Views | Configuration


XmlShell - Filter View - Help

Filter View

Filter View is one of the grid-like views. It displays the matched nodes specified by the Filter Bar.

Open/Close the View

  • Open - Use the Filter Bar to specify the filtering condition.
  • Close - By removing the filtering condition in the Filter Bar, XmlShell will close the Filter View.

See Also

Grid-Like Views | Filter Bar


XmlShell - Editor View - Help

Editor View

Editor view provides free form text editing. In many cases, it's preferred to work on the document directly in free text mode, especially for experienced users.

Popup List

Popup list is a small popup window that lists some clip-texts to help you type. A popup list shows up when you type one of the following char:
Char | List
< | Existing tag names in the document.
& | Entities defined in DTD, including predefined entities for &, <, >, ", '
xsl: | XSL tags (e.g. xsl:value-of).
space | Attributes for the current tag (element).
/ | Existing tag names in the document, if cannot find the opening tag.

Inserting Surrounding Text

This feature makes it easy to convert Any Text to <div>Any Text</div>, (Any Text), "Any Text", ** Any Text **, or ***Any Text***. Here is how:

  1. Select (highlight) Any Text in the Editor view.
  2. Press Ins key and select Element, which is default, in the Node Type dropdown list.
  3. Type div, (, ", ** , or *** in the Name/Data edit box.
Starting Character Typed | Results with Surrounding Text
~, !, @, #, $, ^, &, *, -, _, +, :, ., ", ', | | typed-string...typed-string
(, {, [ | (...), {...}, [...]
= (Attribute value) | ="..."
/ (C-style comment) | /*...*/
% (ASP block) | <%...%>
? (Process instruction) | <?...?>
< (Enclose with angle brackets) | &lt;...&gt;

Auto Completion

Auto completion is to complete common "pairing" symbols or tags. XmlShell will automatically complete the second half of a pair when you type the first half of the pair. For XML elements, XmlShell automatically closes an element when you type </ (not when you type opening tag) .
Char | Completed Text
( | ()
< | <>
{ | {}
[ | []
' | '
" | "
</ | </closing_tag>

Special Keyboard Operations

Editor view is just like a normal text editor. All the standard text editor behaviors apply. The following is a list of operations that are different from text editors:

  • Ins - Insert a new node. The currently selected text will be surrounded by the new node or tag.
  • Ctrl+W - Toggle Wrap Long Lines option.
  • Ctrl+F3 - Find the selected text. If no text is selected, the word at the current cursor position will be automatically selected.
  • F3 - Find next.
  • Shift+F3 - Find previous.

Configuration

General settings:

  • /Config/Editor/@font-family
  • /Config/Editor/@font-size
  • /Config/Editor/@color
  • /Config/Editor/@TabSize
  • /Config/Editor/@TabGuide
  • /Config/Editor/@Wrap

Element:

  • /Config/Editor/Element/@color
  • /Config/Editor/Element/@bold
  • /Config/Editor/Element/@italic

Attribute:

  • /Config/Editor/AttributeName/@color
  • /Config/Editor/AttributeName/@bold
  • /Config/Editor/AttributeName/@italic
  • /Config/Editor/AttributeValue/@color
  • /Config/Editor/AttributeValue/@bold
  • /Config/Editor/AttributeValue/@italic

Text:

  • /Config/Editor/Text/@color
  • /Config/Editor/Text/@bold
  • /Config/Editor/Text/@italic

Comment:

  • /Config/Editor/Comment/@color
  • /Config/Editor/Comment/@bold
  • /Config/Editor/Comment/@italic

CDATA:

  • /Config/Editor/CDATA/@color
  • /Config/Editor/CDATA/@bold
  • /Config/Editor/CDATA/@italic

Process Instruction:

  • /Config/Editor/ProcessInstructionMark/@color
  • /Config/Editor/ProcessInstructionMark/@bold
  • /Config/Editor/ProcessInstructionMark/@italic

See Also

Configuration | Keyboard Shortcuts | FAQ


XmlShell - Browser View - Help

Browser View

Browser View uses Microsoft Web Browser Control, which is the same control used IE.

View Options

XmlShell provides three different ways to display the document in Browser view. You can use View menu, Browser View sub-menu to choose the most appropriate way for your purpose:

  • XML
  • HTML
  • Text

Operations

XmlShell implements the following operations for Browser View:

  • F5 - Refresh. This will not reload (Ctrl+R) the document. It just refreshes the view.
  • Edit menu, Select All - Select all.
  • Edit menu, Copy - Copy the selected text.
  • Edit menu, Find - To find text in the Browser View.
  • View menu, Back and Forward - Go to previous or next page.

See Also

View Menu | XSLT View


XmlShell - XSLT View - Help

XSLT View

XSLT View is similar to the Browser View. Instead of displaying the current document, it displaying the "XSL-transformed" document.

Open/Close the View

  • Open - Use Tools menu, XSL Transform, (Alt+L) to bring up the XSL Transform dialog. Make proper selection then click OK.
  • Close - Click Cancel on the XSL Transform dialog.

View Options

Like, the Browser View, XSLT View has three different ways to display the transformed document. However, you choose the format via the XSL Transform dialog.

Operations

XSLT View has the same operations as the Browser View

See Also

Browser View | View Menu


XmlShell - Filter Bar - Help

Filter Bar

Filtering is performed based on node type, tag name, attribute name, or free text. Only one of those conditions can be set. When one of the fields is set, all the others will be set to blank automatically.

Search History

Filter bar is to filter the XML document by node type, tag name, attribute name, or free text. When any of the above fields are not blank, the filtering function is enabled and the Filter View will be shown with a list of nodes that match the filtering condition. To close the Filter View, just set all the filtering to blank.

Real Time Search

The free text search field features "real time" filtering. The filtering is performed while you are typing. The free text filtering field also stores the history of the old filtering text. The filtering text is stored when you leave the free text filtering field. The maximum number of the old filtering texts stored in the history can be changed via the Edit Configuration (key: /Config/Misc/@SearchHistory).

FAQ

Q1: I don't see the Filter Bar. How do I enable it?
Ans: Use menu and choose Filter Bar

Q2: Can I search without Filter Bar
Ans: You can use command to do free text searching.

Notes

  • Free text filtering is case insensitive.

    • See Also

    Filter View | View Menu | Edit Configuration


XmlShell - Keyboard Shortcuts - Help

Keyboard Shortcuts

The following is a list of keyboard shortcuts order by key:
Shortcut | Function
Alt+0 | Switch to XmlTree view.
Alt+1 .. 5 | Switch to the n-th tabbed view.
Alt+C | Check well-formedness.
Ctrl+A | Select All.
Ctrl+C | Copy.
Ctrl+Shift+C | Copy without children.
Ctrl+D | Duplicate node.
Ctrl+F | Find.
Alt+L | XSL transform.
Alt+N | Create a new file from clipboard.
Ctrl+N | Create a new file.
Ctrl+O | Open file(s).
Ctrl+R | Reload the document (file).
Ctrl+S | Save.
Ctrl+V | Paste.
Alt+V | Validate XML document.
Ctrl+Shift+V | Paste as children.
Ctrl+W | Wrap long lines.
Alt+X | Toggle XmlTree view.
Ctrl+X | Cut.
Ctrl+Y | Redo.
Ctrl+Z | Unco.
F2 | Start in-place editing.
F3 | Find next.
Ctrl+F3 | Find current.
Shift+F3 | Find previous.
F5 | Refresh browser or XSLT views.
Del | Delete selected nodes.
Ins | Insert a new sibling node.
Ctrl+Ins | Insert a new child node.
Alt+Left | Go back.
Alt+Right | Go forward.
Num + | Expand selected nodes.
Num - | Collapse selected nodes.
Num * | Expand selected nodes and all the children.
Num / | Collapse selected nodes and all the children.